package cn.stylefeng.guns.modular.gridsystem.service;

import cn.stylefeng.guns.core.pojo.page.PageResult;
import cn.stylefeng.guns.modular.gridsystem.entity.BizThreholdItem;
import cn.stylefeng.guns.modular.gridsystem.model.param.BizThreholdItemParam;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;

/**
 * 阈值配置项 服务类
 *
 * @author ssy
 * @date 2021/09/14 11:47
 */
public interface BizThreholdItemService extends IService<BizThreholdItem> {

    /**
     * 分页查询阈值配置项
     *
     * @author ssy
     * @date 2021/09/14 11:47
     */
    PageResult<BizThreholdItem> page(BizThreholdItemParam bizThreholdItemParam);

    /**
     * 查询所有阈值配置项
     *
     * @author ssy
     * @date 2021/09/14 11:47
     */
    List<BizThreholdItem> list(BizThreholdItemParam bizThreholdItemParam);

    /**
     * 添加阈值配置项
     *
     * @author ssy
     * @date 2021/09/14 11:47
     */
    void add(BizThreholdItemParam bizThreholdItemParam);

    /**
     * 删除阈值配置项
     *
     * @author ssy
     * @date 2021/09/14 11:47
     */
    void delete(BizThreholdItemParam bizThreholdItemParam);

    /**
     * 编辑阈值配置项
     *
     * @author ssy
     * @date 2021/09/14 11:47
     */
    void edit(BizThreholdItemParam bizThreholdItemParam);

    /**
     * 查看详情阈值配置项
     *
     * @author ssy
     * @date 2021/09/14 11:47
     */
    BizThreholdItem detail(BizThreholdItemParam bizThreholdItemParam);

    List<BizThreholdItem> listByGatewayId(Integer id);

    Integer countByGIdAndChannel(BizThreholdItemParam param);

    BizThreholdItem threholdItemByChannelAndGatewayId(BizThreholdItemParam bizThreholdItemParam);
}
